News feed techniques

ABSTRACT

News feed techniques are described. In implementations, content is parsed from one or more emails that are addressed to a user. The parsed content from the email is exposed, automatically and without user intervention, for output in a news feed of the user.

RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S.application Ser. No. 12/769,443 filed Apr. 28, 2010, the entiredisclosure of which is hereby incorporated by reference.

BACKGROUND

Users have access to a wide variety to techniques that may be used tocommunicate over a network. For example, a user may send emails,communicate via instant messages, post “notes” (e.g., to a wall of asocial network), communicate status messages, post to a blog, and so on.

Traditional techniques that were used to perform this communication,however, were provided using different mechanisms. Therefore, a user ofthese traditional techniques may be forced to interact with a variety ofdifferent applications, websites, and so on to receive communicationsusing these different mechanisms, which could lead to user frustration.

SUMMARY

News feed techniques are described. In implementations, content isparsed from one or more emails that are addressed to a user. The parsedcontent from the email is exposed, automatically and without userintervention, for output in a news feed of the user.

In implementations, a news feed is received at a client device via anetwork connection. The news feed is output for display in a userinterface by the client device, the news feed configured to include aconcurrent display of content parsed from one or more emails and socialnetwork content from a social network service.

In implementations, content is parsed from one or more communicationsthat are addressed to a user. A verification is formed that isconfigured to verify that the parsed content is permitted for inclusionin a news feed that involves the user, the news feed configured toinclude social network content from a social network service. Acommunication is formed to communicate the formed verification over anetwork to the user.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is described with reference to the accompanyingfigures. In the figures, the left-most digit(s) of a reference numberidentifies the figure in which the reference number first appears. Theuse of the same reference numbers in different instances in thedescription and the figures may indicate similar or identical items.

FIG. 1 is an illustration of an environment in an example implementationthat is operable to perform news feed techniques.

FIG. 2 is an illustration of an example system that shows a web serviceas implementing the news feed techniques.

FIG. 3 is an illustration showing an example implementation in which auser interface is output by a client device of FIG. 1 to include contentparsed from one or more emails.

FIG. 4 is a flow diagram that depicts a procedure in an exampleimplementation in which content is parsed from an email and output fordisplay in a news feed at a client device.

FIG. 5 is a flow diagram that depicts a procedure in an exampleimplementation in which a verification technique is described to verifycontent for inclusion in a news feed.

DETAILED DESCRIPTION Overview

Social activities, such as comments on photos, being tagging in a photo,receiving a private message, posting status updates, and so on areincreasing in popularity amount users of social network services.Although email may describe social activities, this presentation isrelegated to display in a separate user interface. Therefore, users oftraditional techniques may be forced to navigate between different userinterfaces, applications, websites, and so on to interact using thesedifferent techniques.

News feed techniques are described. In implementations, communicationssuch as email are leveraged to add additional content to a user's newsfeed. For example, photos, potential calendar dates of interest, and soon may be parsed from emails addressed to a user for display in a newsfeed of the user. In an implementation, this content is provided fordisplay in a private feed of the user that is not accessible to otherusers. In another implementation, this parsed content is provided fordisplay in a public feed (e.g., to one or more friends of the user). Forexample, the news feed techniques may employ a verification mechanism toverify whether inclusion of the parsed content is permitted forinclusion in the news feed. In this way, the content may beautomatically parsed from the emails and the user may then choose whichof the content is to be included in the news feed for viewing by otherusers, such as “friends” of the user. A variety of other techniques arealso contemplated, further discussion of which may be found in relationto the following sections.

In the following discussion, an example environment is first describedthat is operable to perform news feed techniques. Example procedures arethen described which may be employed by the example environment.However, it should be readily apparent that the example environment isnot limited to performing the example techniques and the exampletechniques are not limited to performance in the example environment.

Example Environment

FIG. 1 is an illustration of an environment 100 in an exampleimplementation that is operable to employ news feed techniques. Theillustrated environment 100 includes a social network service 102, aclient device 104, and an email service 106, each of which arecommunicatively coupled, one to another, over a network 108.

The client device 104 may be configured in a variety of ways. Forexample, the client device 104 may be configured as a computer that iscapable of communicating over the network 108, such as a desktopcomputer, a mobile station, an entertainment appliance, a set-top boxcommunicatively coupled to a display device, a wireless phone, a gameconsole, and so forth. Thus, the client device 104 may range from fullresource devices with substantial memory and processor resources (e.g.,personal computers, game consoles) to a low-resource device with limitedmemory and/or processing resources (e.g., traditional set-top boxes,hand-held game consoles). The client device 104 may also relate to anentity that operates the client device 104. In other words, the clientdevice 104 may describe logical clients that include software in thefollowing discussion. Likewise, the social network service 102 and theemail service 106 may be implemented using a variety of differentcomputing devices, examples of which are illustrated as one or moreservers.

Although the network 108 is illustrated as the Internet, the network mayassume a wide variety of configurations. For example, the network 108may include a wide area network (WAN), a local area network (LAN), awireless network, a public telephone network, an intranet, and so on.Further, although a single network 108 is shown, the network 108 may beconfigured to include multiple networks. For instance, the socialnetwork service 102 and the client device 104 may be communicativelycoupled via the Internet. Additionally, the social network service 102and the email service 106 may be communicatively coupled via a corporateintranet. A wide variety of other instances are also contemplated.

The client device 104 is illustrated as including a communication module110. The communication module 110 is representative of functionality ofthe client device 104 to communicate via the network 108. For example,the communication module 110 may include browser functionality tointeract with the social network service 102 and the email service 106via the network 108.

The social network service 102 may support a variety of differentfunctionality which is represented by the social network manager module112. Through the social network manager module 112, for instance, thesocial network service 102 may support communication of status updatesbetween the client device 104 and another client device that have beenspecified as friends of each other. Additionally, the specified“friendship” of the social network service 102 may be used as a basis topermit sharing of photos, video, blogs, and so on. Thus, the socialnetwork service 102 may use the friend relationship as a permissioningtechnique to permit or restrict access to content associated with auser's account of the social network service 102.

For instance, the client device 104 may be associated with a user'saccount of the social network service 102. Through this user account,the client device 104 may be used to specify a friend, such as a useraccount of the social network service 102 that is accessible via anotherclient device. By doing this, the other client device is permitted toaccess content associated with the client device 104, such as contentassociated with an account of the social network service 102 of a userof the client device 104 that provided credentials to access the useraccount. Although a permissioning technique regarding friends have beendescribed, it should be readily apparent that the social network service102 may be configured in a variety of ways to support communicationbetween users, such as by communicating status updates to subscribers ofa particular user's network feed, exposing content for access by thegeneral public, and so on.

The email service 106 is illustrated as included an email manager module118 that is representative of functionality regarding email 120, e.g.,composing, sending, receiving, and so forth. For example, the emailservice 106 may be implemented at a business that hosts its own email120. In another example, the email service 106 may be part of a webservice that is accessible via browser functionality, an example ofwhich is shown in relation to FIG. 2.

Additionally, the email service 106, and more particularly the emailmanager module 118, is also illustrated as including a news feed module114 that is representative of functionality regarding news feeds. In animplementation, the news feed module 114 may be representative offunctionality to generate a news feed 116 for output by a client device104 that includes content parsed from communications. For example, theemail content may be directly sent to a news feed 116 at an emailservice to be complimentary to the existing news feeds that are obtaineddirectly from third party services.

Content from the email 120 may then be parsed from the email 120 forinclusion in a news feed 116 that is generated by the news feed module114. In this way, the news feed module 114 may leverage email 120 thatis to be sent to a particular user to populate the news feed 116,further discussion of which may be found in relation to the followingfigures. Although functionality of the news feed module 114 is discussedin relation to the email service 102, this functionality may beimplemented by a variety of different entities, such as by the socialnetwork service 102, the client device 104 itself, by a stand-aloneentity (i.e., an entity other than the social network service 102 or theemail service 106), and so on.

Generally, any of the functions described herein can be implementedusing software, firmware, hardware (e.g., fixed logic circuitry), manualprocessing, or a combination of these implementations. The terms“module” and “functionality” as used herein generally representsoftware, firmware, hardware, or a combination thereof. In the case of asoftware implementation, the module or functionality represents programcode that performs specified tasks when executed on a processing systemhaving one or more processors (e.g., CPU or CPUs). The program code canbe stored in one or more computer readable memory devices, e.g., memoryor other storage media. The features of the news feed techniquesdescribed below are platform-independent, meaning that the techniquesmay be implemented on a variety of commercial computing platforms havinga variety of processors.

FIG. 2 depicts a system 200 in an example implementation showing thesocial network service 102 and the email service 106 as implemented aspart of a web service 202. Although the social network service 102 andthe email service 106 are shown as being implemented by a single webservice 202, as previously stated these entities may be implementedusing different services having different domains, employ differenthardware and software resources, and so on. The web service 202 isaccessible to the client device 104 via a network, e.g., the network 108of FIG. 1 via browser functionality.

The news feed module 114 is configured in this example to provide socialnetwork content for inclusion in the news feed 116 that is exposed foroutput by the client device 104. For example, the social network content204 may be configured to include status updates (which may include postsfrom a micro-blogging service), notes (e.g., “writings on a wall”),messages, media (e.g., photos and video), links, and so on.

The news feed module 114 may also be configured to provide content fromthe email 120. For purposes of the following discussion, the email 120may be representative of one or more emails. Accordingly, the email 120may be referred to in singular (e.g., the email 120) and plural (e.g.,the emails 110) forms.

The email 120 includes a header 206 and content 208. The header 206includes information that is usable to deliver the email 120, such as anemail address of an intended recipient. e.g., the client device 104. Theheader 206 may also include other information such as an email addressof an originator of the email 120, a subject header, and so on.

The content 208 may be representative of a variety of different types ofcontent that may be included in the email 120. For example, the content208 may include textual content that may be configured in a variety ofdifferent ways, such as text of a letter, status updates, sharinginformation, contact information, and so on. A variety of other textualinformation is also contemplated, such as billing information, purchaseconfirmation information, banking information, scheduling information,and so on. The content 208 may also include a variety of non-textualcontent, such as images, music files, video files, links to othercontent over the network 108, and so on.

The news feed module 114 may employ a variety of techniques to parsecontent 208 from the email 120. For example, the news feed module 114may employ a locating module 212 that is representative of functionalityto locate unstructured content 208 from the email 120. For example, thelocating module 212 may include logic to locate content 208 thatpertains to one or more social activities, such as media, pertains to adate, describes an activity, and so on. Thus, in this example the email120 is not structured to aid in locating and identifying the types ofcontent 208 included in the email.

In another example, the email 120 may include functionality thatidentifies the content 208 in the email 120. As illustrated in FIG. 2,for instance, the email 120 is further illustrated as including metadata210 that describes the content 208 of the email 120. Thus, the metadata210 may be used to identify the content (e.g., a status update) insteadof just formatting that is to be applied to the content (e.g., to boldtext).

The metadata 116 may follow a schema that may describe both textual andnon-textual content 208 of the email 120. This description may then beleveraged to identify the content 208, e.g., to locate the content 208that describes social activities. The metadata 210 may be generatedusing a variety of techniques, such as by an originator of the email120, by an intermediary (e.g., the email service 106), and so on.

Accordingly, the news feed module 114 may leverage a metadata module 214that is configured to identify the content 208 using the metadata 210.For example, the metadata 210 may include tags that identify content 208that pertains to (e.g., originated from) a social network service, suchas to identify a post to a wall. The tags 210 may also describe avariety of other activities, such as a location (e.g., for use in ageo-locating service). This content 208 identified by the metadatamodule 214 using the metadata 210 may then be exposed for inclusion inthe news feed 116 of the client device 104. In this way, the news feed116 may be configured to include social network content 204 as well ascontent 208 parsed from emails 120, an example of which is described inrelation to the following figure.

FIG. 3 is an illustration showing an example user interface 300 thatincludes a news feed 116 of FIG. 1 that is configured to include socialnetwork content 204 and content 208 taken from the email 120 of FIG. 2.The news feed 116 is illustrated as including status updates 302-308that describe the content.

For example, a first status update 302 describes a communicationprovided via a social network service, e.g., “Billy wrote on your wall.”The second status update 304 describes a meeting request that was sentvia email, e.g., “Sara sent you a meeting request for Saturday.”Likewise, a third status update 306 describes a message sent via asocial network service, e.g., “What time are you heading up to theLake?” and the fourth status update describes content received viaemail, e.g., “You have received a new photo.” The status updates mayalso include corresponding profile information (e.g., image and name)and/or may describe the corresponding content (e.g., the thumbnail imageof the photo for the fourth status update).

The status updates 302-308 may also be displayed to indicate an originof the corresponding content. For example, the first and third statusupdates 302, 306 indicate that the corresponding content was obtainedvia a social network service via the text “-via Social Network,” whereasthe second and fourth status updates 304, 308 indicate that thecorresponding content was obtained from email 120.

The user interface 300 is also configured to include functionalityregarding settings of the news feed 116. For example, the news feed 116may include functionality regarding whether content is to be included ina public or private feed. Thus, in this way the user may set whether thecontent may be viewed publically (e.g., by friends of the user) or is tobe viewed privately. A variety of other examples are also contemplated,further discussion of which may be found in relation to the followingprocedures.

Example Procedures

The following discussion describes news feed techniques that may beimplemented utilizing the previously described systems and devices.Aspects of each of the procedures may be implemented in hardware,firmware, or software, or a combination thereof. The procedures areshown as a set of blocks that specify operations performed by one ormore devices and are not necessarily limited to the orders shown forperforming the operations by the respective blocks. In portions of thefollowing discussion, reference will be made to the environment 100 ofFIG. 1, the system 200 of FIG. 2, and the user interface 300 of FIG. 3.

FIG. 4 depicts a procedure 400 in an example implementation in whichcontent is parsed from an email for inclusion in a news feed. Content isparsed from an email to be sent to a user (block 402). As previouslydescribed, the content may be parsed in a variety of ways. For example,the news feed module 114 may utilize metadata 210 to identify thecontent 208, e.g., through tags, by following a schema, and so on. Inanother example, the news feed module 114 may employ logic to identifytext and other content 208 that may be relevant, such as by identifyingkeywords, dates, types of content (e.g., videos, links), and so forth. Avariety of other examples are also contemplated. Additionally, thisparsing may be performed by a variety of different entities, such as bya social network service 102, the email service 106, a stand-aloneservice, the client device 104 itself, and so on.

In one such example, this information is transformed or augmented withother pre-configured information based on the source of the email. Forexample, if an email is sent with a link such ashttp://www.youtube.com/watch?v=83YZa83wvZc, it may be converted asfollows:

<object width=“480” height=“385”><param name=“movie”value=“http://www.youtube.com/v/83YZa83wvZc&hl=en_US&fs=1&”></param><param name=“allowFullScreen” value=“true”></param><paramname=“allowscriptaccess” value=“always”></param><embedsrc=“http://www.youtube.com/v/83YZa83wvZc&hl=en_US&fs=1&”type=“application/x-shockwave-flash” allowscriptaccess=“always” allowfullscreen=“true” width=“480” height=“385”></embed></object>Therefore, this may be sent to the news feed instead of a plain URL touse as a playable video in the feed.

The content from the email is exposed for output in a news feed of theuser, automatically and without user intervention (block 404).Continuing with the previous example, the parsing and the exposing maybe performed automatically by the news feed module 114 without userinteraction. The news feed may be exposed in a variety of ways, such asfor viewing using browser functionality, streamed over the network 108,and so on.

The news feed is then received at a client device via a networkconnection (block 406). The news feed 116, for instance, may be receivedusing one or more of the techniques described previously.

The news feed is output for display in a user interface by the clientdevice, the news feed including content parsed from one or more emailsand social network content from a social network service (block 408). Asshown in the user interface 300 of FIG. 3, for instance, the content 208parsed from the email 120 may be displayed as status updates in the newsfeed 116 concurrently with social network content 204. A variety ofdifferent social network content may also be displayed in the news feed,such as status updates including posts from micro-blogs, geo-locationinformation from a social network service, and so on. Thus, in thisexample the user is provided with a user interface through whichinformation that describes social activities from a variety of differentsources may be aggregated into a single view. Further, this view may beprivate or public, further discussion of which may be found in relationto the following figure.

FIG. 5 depicts a procedure 500 in an example implementation in which averification technique is employed to verify that parsed content is tobe included in a news feed. Content is parsed from one or more emailsthat are addressed to a user (block 502). As previously stated, avariety of different techniques may be utilized to parse the email toidentify content that is likely to be of interest to a user.

A verification is formed to verify that the parsed content is permittedfor inclusion in a news feed that involves the user, the news feedconfigured to include social network content from a social networkservice (block 504). For example, the verification may include anindication of the content that is to be included in the news feed, wherethe content originated (e.g., identification of a sender of the email),portions that are selectable to approve or deny permission to includethe content in the news feed, and whether the user has chosen to allowemail content to show up in their news feed. Thus, in this example theverification may be used to give a user a measure of control of whatcontent is included in a news feed. For instance, the verification maybe used to preview content and approve the content for inclusion in apublic feed of the user.

A communication is formed to communicate the formed verification over anetwork to the user (block 506). For example, the verification may beoutput as a part of a web user interface, as an email, and so on. Thus,in this example the news feed module 114 may leverage content includedin emails to describe social activities that are likely of interest to auser and verify whether this content is suitable for inclusion in a newsfeed 116. A variety of other examples are also contemplated.

CONCLUSION

Although various embodiments have been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject of the appended claims is not necessarily limited tothe specific features or acts described. Rather, the specific featuresand acts are disclosed as example forms of implementing variousembodiments.

What is claimed is:
 1. A system to control inclusion of content fromemails in a news feed, the system comprising: a web service embodied onone or more computing devices comprising at least one processor andmemory encoding computer executable instructions that, when executed bythe at least one processor, cause the at least one processor to: parsecontent from one or more emails received via an email service, theparsed content of a respective email of the one or more emailscomprising metadata including one or more tags that indicate whether thecontent of the respective email originated from a social networkservice; and control exposure of the parsed content from the one or moreemails to cause inclusion of the parsed content in the news feedassociated with a recipient.
 2. A system as recited in claim 1, whereinthe web service is further configured to parse in accordance with ametadata schema to read metadata that describes the content of arespective email.
 3. A system as recited in claim 2, wherein themetadata is included with the respective email.
 4. A system as recitedin claim 2, wherein the metadata is generated by an originator of therespective email.
 5. A system as recited in claim 1, wherein the newsfeed also includes social network content.
 6. A system as recited inclaim 5, wherein the social network content includes one or more statusupdates.
 7. A system as recited in claim 5, wherein the social networkcontent originates from one or more other users of the social networkthat are specified as friends of the user and the news feed isaccessible by the one or more other users.
 8. A system as recited inclaim 1, wherein the content from at least one of the one or more emailsincludes non-textual content that is represented in the news feed.
 9. Asystem as recited in claim 1, further comprising outputting averification to verity that the parsed content is to be included in thenews feed.
 10. A system as recited in claim 1, wherein the news feed isprivate to the user.
 11. A system to control inclusion of content fromemails in a news feed, the system comprising: a client device comprisingat least one processor and memory encoding computer executableinstructions that, when executed by the at least one processor, causethe at least one processor to control output of the news feed receivedvia a network connection in a user interface associated with the clientdevice, the news feed comprising: content parsed from an emaildescribing non-textual content of the email, and at least one icon, theicon representing the non-textual content of the email, where thecontent parsed from the email comprises metadata including one or moretags that indicate whether the content of the respective emailoriginated from a social network service; and at least one status updatecomprised of textual content, where the textual content describes thenon-textual content parsed from the email.
 12. A system as recited inclaim 11, wherein the user interface is provided by a social networkservice.
 13. A system as recited in claim 11, wherein the news feed alsoincludes social network content.
 14. A system as recited in claim 13,wherein the social network content includes one or more status updatescommunicated via the social network service.
 15. A system as recited inclaim 13, wherein the non-textual content is an image attached to theemail.
 16. A system as recited in claim 13, wherein the non-textualcontent is a music file or video file attached to the email.
 17. Asystem as recited in claim 13, wherein the icon representing thenon-textual content of the email is configured to display concurrentlywith one or more icons representing one or more social network contactsof a user of the client device.
 18. One or more computing devicescomprising at least one processor and memory encoding computerexecutable instructions that, when executed by the at least oneprocessor, perform a method for controlling inclusion of content fromemails in a news feed, the method comprising: parsing content from oneor more emails addressed to a recipient received via an email service,at least one of the emails comprising non-textual content, the parsedcontent comprising metadata including one or more tags that indicatewhether the content of the respective email originated from a socialnetwork service; and creating an update for inclusion in the news feedassociated with the recipient, the update comprising: a textual portioncreated, at least in part, by utilizing inferred parsing to describe thenon-textual content; and a non-textual portion configured to include athumbnail icon that represents the non-textual content; and exposing theupdate to cause output of the update in the news feed associated withthe recipient.
 19. The one or more computing devices of claim 18, themethod further comprising forming a verification that is configured toverify that the update is permitted for inclusion in a news feed thatinvolves the recipient.
 20. The one or more computing devices of claim18, wherein the non-textual content is an image, video file, or musicfile.